Aesthetic membership platform

ABSTRACT

In some embodiments, a method to generate a user interface for a subscription management system may include receiving first order data relating to a first subscription offering, receiving second order data related to a second subscription offering, combining the first and second order data into a subscription data structure that, calculating a combined one-time payment amount for both the first and second subscription offerings based on the quantity data, calculating a combined periodic monthly subscription payment amount for both the first and the second subscription offerings based on the quantity and period data, and/or causing presentation of both the combined one-time payment amount and the combined monthly subscription payment amount in the user interface for the subscription management system.

CLAIM OF PRIORITY

This application is a continuation of U.S. patent application Ser. No.18/094,231, filed on Jan. 6, 2023, which application is a continuationof U.S. patent application Ser. No. 16/434,674, filed on Jun. 7, 2019,which application is a continuation of U.S. patent application Ser. No.16/147,236, filed on Sep. 28, 2018, which application claims the benefitof priority to U.S. Provisional Application No. 62/650,571, filed onMar. 30, 2018, which are hereby incorporated by reference in theirentireties.

BACKGROUND

User interfaces and data structures pertaining to the management ofsubscriptions (e.g., for goods or services), while having advanced inrecent years, have not been optimized for use in a cross number ofverticals and also for the management of more complicated subscriptionarrangements between providers and customers.

One prior art system for providing subscriptions to a bundle ofservices, and more specifically channels from a program guide, isdescribed in U.S. Pat. No. 7,596,797 (the '797 patent). Here, a terminalcontroller is used to select a bundle of channels based on asubscription matrix of a user. However, the technology described in the'797 patent is inflexible, lacks configurability by a service providerand also provides a limited set of options for an end-user or consumer.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

To easily identify the discussion of any particular element or act, themost significant digit or digits in a reference number refer to thefigure number in which that element is first introduced.

FIG. 1 Illustrates a networked environment in which the describedtechnology, according to some example embodiments, may be deployed

FIG. 2 is a diagrammatic representation of a processing environment, inaccordance with one embodiment.

FIG. 3 illustrates further details regarding the subcomponents of asubscription engine, according to some example embodiments.

FIG. 4 is a block diagram illustrating further architectural details ofa subscription system, according to some example embodiments.

FIG. 5 is a diagrammatic representation of data structures maintained bya subscription service, according to some example embodiments.

FIG. 6 is a block diagram as for details regarding a data architecture,according to some example embodiments.

FIG. 7 is a table diagram illustrating further details of data,according to some example embodiments, stored within the various tablesdiscussed above with reference to FIG. 6 .

FIG. 8 is a table diagram illustrating further details of data,according to some example embodiments, stored within the various tablesdiscussed above with reference to FIG. 6 .

FIG. 9 is a table diagram illustrating further details of data,according to some example embodiments, stored within the various tablesdiscussed above with reference to FIG. 6 .

FIG. 10 is a table diagram illustrating further details of data,according to some example embodiments, stored within the various tablesdiscussed above with reference to FIG. 6 .

FIG. 11 is a flowchart illustrating a method, according to some exampleembodiments, to create a subscription plan data structure and tofacilitate financing of the subscription plan reflected in the datastructure.

FIG. 12 is a flowchart illustrating a method, according to some exampleembodiments, of presenting combined one-time payment and subscriptionpayment information to a user on a subscription engine.

FIG. 13 illustrates a user interface in accordance with one embodiment.

FIG. 14 illustrates a user interface in accordance with one embodiment.

FIG. 15 illustrates a user interface in accordance with one embodiment.

FIG. 16 illustrates a user interface in accordance with one embodiment.

FIG. 17 illustrates a user interface in accordance with one embodiment.

FIG. 18 illustrates a user interface in accordance with one embodiment.

FIG. 19 illustrates a user interface in accordance with one embodiment.

FIG. 20 illustrates a user interface in accordance with one embodiment.

FIG. 21 illustrates a user interface in accordance with one embodiment.

FIG. 22 illustrates a user interface in accordance with one embodiment.

FIG. 23 illustrates a user interface in accordance with one embodiment.

FIG. 24 illustrates a user interface in accordance with one embodiment.

FIG. 25 illustrates a user interface in accordance with one embodiment.

FIG. 26 illustrates a user interface in accordance with one embodiment.

FIG. 27 illustrates a user interface in accordance with one embodiment.

FIG. 28 illustrates a user interface in accordance with one embodiment.

FIG. 29 illustrates a user interface in accordance with one embodiment.

FIG. 30 illustrates a user interface in accordance with one embodiment.

FIG. 31 illustrates a user interface in accordance with one embodiment.

FIG. 32 illustrates a user interface in accordance with one embodiment.

FIG. 33 illustrates a user interface in accordance with one embodiment.

FIG. 34 illustrates a user interface in accordance with one embodiment.

FIG. 35 illustrates a user interface in accordance with one embodiment.

FIG. 36 illustrates a user interface in accordance with one embodiment.

FIG. 37 illustrates a user interface in accordance with one embodiment.

FIG. 38 illustrates a user interface in accordance with one embodiment.

FIG. 39 illustrates a user interface in accordance with one embodiment.

FIG. 40 illustrates a user interface in accordance with one embodiment.

FIG. 41 illustrates a user interface in accordance with one embodiment.

FIG. 42 illustrates a block diagram of a software architecture,according to some example embodiments.

FIG. 43 illustrates a diagrammatic representation of a machine 4300 inthe form of a computer system within which a set of instructions may beexecuted for causing the machine to perform any one or more of themethodologies discussed herein, according to an example embodiment.

DETAILED DESCRIPTION Introduction

According to some example embodiments, there is provided a subscriptionmanagement system that generates and uses data structures and interfacesthat allow for configurability and flexibility in the creation of abundle of subscriptions, for a specific consumer, to one or moreproducts or services, which may be delivered in terms of one or moreplans.

Each subscription within a bundle of subscriptions can be for a productor service and has a fulfillment price. Further, each subscription has aperiod in which it may reoccur (e.g., one month, six months, one year,etc.). These recurrence periods may perpetuate indefinitely or mayterminate after a set number of occurrences (or cycles).

Each subscription can furthermore be financed by a loan from a thirdparty, or by a service provider. Alternatively, a consumer can pay thefull amount for a subscription at one time (e.g., upon initiation of thesubscription). The terms of the subscription (both delivery andfinancial) can be dynamically managed by consumers in some cases (e.g.,a consumer may be able to change the. It over which the subscription mayreoccur).

Even further, each subscription may be executed independently of othersubscriptions in a bundle, while billing for one or more subscriptionswithin the bundle may be aggregated into a single payment once a month(or on some other periodic basis).

Service plans may, in some embodiments, be made with the assistance of aservice delivery expert (e.g., a physician), and may be fulfilled at aplace of business of the expert (e.g., a medical practice office of thephysician). Product fulfillment, on the other hand, may be performed byshipment.

As noted above, each subscription in a bundle may be financed by a loanfrom a third party or service provider. In one embodiment, loans may befacilitated in real time. To this end, a subscription enginecommunicates details of a particular subscription to a financialexchange in near real-time. The details of a particular descriptioninclude, for example, identification of the products or services beingoffered, details of the provider, and details of the consumer.Third-party financiers may access the financial exchange, again in nearreal-time, to accept any number (or none) of the subscriptions beingoffered via the financial exchange.

In one embodiment, the receipt of subscription details, the offering ofsubscription financing opportunities to third-party financiers, and thereceipt of acceptance/decline of a financing opportunity may occur innear real-time, and while a customer is standing at the checkout counterof a service consumer.

Description

Defining the quantity and frequency of delivery of a product or serviceoffering under subscription plan is tricky and presents technicalchallenges to a user. This is particularly so where the product orservice offering is being subscribed to is part of a bundle of offeringsor services included within a single subscription plan. For example,defining the quantity and frequency of delivery requires typingnumerical data into appropriate fields and then calculating variables todisplay a monthly cost (or payment total) of the subscription plan.Because this area of the software is frequently used on a touchscreentablet device while the customer is watching, now there is a need tohave a fast friction free device to enter the data.

In some embodiments, a method to generate a user interface for asubscription management system may include receiving first order datarelating to a first subscription offering, receiving second order datarelated to a second subscription offering, combining the first andsecond order data into a subscription data structure that, calculating acombined one-time payment amount for both the first and secondsubscription offerings based on the quantity data, calculating acombined periodic monthly subscription payment amount for both the firstand the second subscription offerings based on the quantity and perioddata, and/or causing presentation of both the combined one-time paymentamount and the combined monthly subscription payment amount in the userinterface for the subscription management system.

In some embodiments, the first order data may include a first set ofattributes relating to the first subscription offering.

In some embodiments, the second order data may include a second set ofattributes related to the second subscription offering.

In some embodiments, the combining the first and second order data intoa subscription data structure that may include quantity data and perioddata for each of the first and second subscription offerings.

In some embodiments, the presentation may include the presentation of afirst user interface element to present the combined one-time paymentamount and a second user element to present the combined monthlysubscription payment amount, and presentation of a toggle feature totoggle between the presentations of the first and second user interfaceelements.

In some embodiments, the method may include receiving third order datarelating to a third offering.

In some embodiments, the third offering may include a one-time paymentoption only.

In some embodiments, the presentation may include a presentation of aone-time payment amount related to the third offering in conjunctionwith each of the combined one-time payment amount and the combinedmonthly subscription payment amount.

In some embodiments, each of the first and second set of attributes mayinclude an item identifier associated with at least one of an item or aservice included in the offering.

In some embodiments, each of the first and second set of attributes mayinclude a recurring attribute identifying the respective offering as.

In some embodiments, each of the first and second set of attributes maybe recurring offering.

In some embodiments, the combining of the first and second order data isperformed based on each of the first and second subscription offeringsmay be identified as recurring offerings.

In some embodiments, the method may include communicating the combinedmonthly subscription payment amount from subscription management systemto a financial exchange system, the financial exchange system operationinto present financing options relating to the combined monthlysubscription payment amount to financiers.

In some embodiments, the communication of the combined monthlysubscription payment amount may include communicating furtherinformation pertaining to each of the first and second subscriptionofferings.

In some embodiments, the further information may include identificationinformation for a provider of the relevant subscription offering, andidentification information for a consumer of the relevant subscriptionoffering.

In some embodiments, the method may include receiving, at the financialexchange system, a financing offer related to at least one of the firstor the second subscription offerings.

In some embodiments, the financing offer may include financing terms.

In some embodiments, the financing offer may further includecommunicating the financing offer from the financial exchange system tothe subscription management system for presentation to a consumer.

In some embodiments, the financing offer may include both a firstfinancing offer pertaining to the first subscription offering and asecond financing offer pertaining to the second subscription offering.

In some embodiments, the subscription management system automaticallyapplies predefined business rules to the first and second financingoffers in order to selectively present at least one of the first orsecond financing offers to the consumer.

Drawings

FIG. 1 illustrates a networked environment 100 in which a communicationsnetwork 102 communicatively couples application servers 104, a clientdevice 106, a client device 108, and third-party servers 114. The clientdevice 106 is accessed by a consumer 134 and hosts a client 112 (e.g., abrowser application). Similarly, the client device 108 is accessed andoperated by a provider 144 and hosts a client 142. The third-partyservers 114 host third-party applications 116.

The application servers 104 include an API server 120 and a web server122 which, in turn, facilitate access to several application components118 that include an expert system 124, a subscription engine 128 and afinancial exchange 130. Each of these components is provided with arespective API, namely an API 110, an API 136 and an API 138.

The application components 118 are communicatively coupled to databaseservers 126 which in turn facilitate access to databases 132.

Further details regarding the operation of the infrastructure areprovided with reference subsequent figures.

As will be further described herein, a provider 144 may wish to provideofferings (e.g., products or services) to a consumer 134, either as aonce-off/one-time delivery or as part of a plan which has a recurrence.For example, the provider 144 may wish to deliver a product (e.g., petfood) to the consumer 134 on a monthly basis, or may wish to providecosmetic services to the consumer 134 on a weekly, monthly, quarterly orannual basis. Regardless of whether the delivery of the product orservice is a one-time delivery or a recurring delivery, the provider 144may also wish to provide the consumer 134 with the option of paying forthe delivery or provision as a once-off payment, as a subscriptionpayment or as a combination of a once off payment and a subscriptionpayment.

At a high level, the expert system 124 operates to enable an expert in aparticular vertical (e.g., the provider 144) to define and manage a planfor the delivery of various products and services to the consumer 134.An expert system 124 is accordingly specifically constructed andprogrammed for the creation of a plan for the delivery of a specificproduct or service in a particular product or service vertical.

The subscription engine 128 is responsible for the automated managementof a plan (which may or may not include any number of subscriptions toproducts or services).

The financial exchange 130 is responsible for communicating financingopportunities related to a plan to one or more financiers (e.g., who mayoperate as a provider 144, or who may be a third party accessing thefinancial exchange 130 via the third-party applications 116).

Turning now to FIG. 2 , there is shown a diagrammatic representation ofa processing environment 200, which includes the processor 206, theprocessor 208, and a processor 202 (e.g., a GPU, CPU or combinationthereof).

The processor 202 is shown to be coupled to a power source 204, and toinclude (either permanently configured or temporarily instantiated)modules, namely an expert system 210, a subscription engine 212, and afinancial exchange system 214. The expert system 210 operationallysupports a guided process for the selection of products or services, aswell as the attributes of such products and services (e.g., quantity(units), a frequency of delivery and number of deliveries) to include ina subscription.

The subscription engine 212 operationally calculates and presentsinformation relating overall options related to a subscription forbundled purchase, and the financial exchange system 214 operationallyallows third parties (e.g., lenders) to view financing opportunities andaccept or reject such financing opportunities for subscriptions (orbundles of subscriptions) generated by the subscription engine 112.

As illustrated, the processor 202 is communicatively coupled to both theprocessor 206 and processor 208 and receives data from the processor206, as well as data from the processor 208. Each of the processor 202,processor 206 and processor 208 may host one or more of an expert system210, a subscription engine 212 and a financial exchange system 214.

FIG. 3 illustrates the various sub-components of a subscription engine128, namely a payment processing and billing system 308, a fulfillmentsystem 310, and a notification system 312. The payment processing andbilling system 308 is operationally responsible for the processing ofpayments and issuing of invoices/bills. The fulfillment system 310communicates with third parties for the shipping of goods, whenappropriate, as well as with service providers to record the delivery ofgoods and services to a customer. The notification system 312operationally provides notifications to both customers and serviceproviders regarding upcoming fulfillment events, as well as otherdelivery-related events.

The subscription engine 128 is also communicatively coupled to adatabase 318, to both store and retrieve data needed by each of thepayment processing and billing system 308, the fulfillment system 310and the notification system 312. The fulfillment system 310 creates andtracks the fulfillment or delivery of a service or a product. Forexample, for a service, the fulfillment system 310 records what wasrendered or provided (e.g., what, how much, when, value) and uses thenotification system 312 to remind users of appointments for a follow-upservice. For products, the fulfillment system 310 issues orders, tracksshipping and delivery, in addition to tracking what was rendered andprovided.

The notification system 312 is a messaging system that uses differentmedia or messaging channels (e.g., email, text, push notification, etc.)to alert customers, providers (e.g., practices) and operations ofdifferent events.

FIG. 3 also illustrates that a subscription system may include an expertcollective 314 comprising respective and distinct expert systems, namelyan expert system 302, an expert system 304 and an expert system 306.Each of the expert systems may be dedicated to a specific vertical andprovide a guided process for the creation of subscription and plans forcustomers in that vertical. For example, the expert system 302 may bededicated to a cosmetics and beauty care vertical, the expert system 304may be dedicated to a bicycle service vertical, and the expert system306 may be dedicated to a car service vertical. Each of the expertsystems within the expert collective 314 may furthermore communicativelycoupled, and have access, to a respective database 316.

FIG. 4 is a block diagram illustrating a subscription management system400 and shows further details for a specific example embodiment. Thesubscription management system 400 includes a customer application 404that, via the API server 120 and the communications network 102,accesses the application components 118. The API server 120 is shown tosupport many functions provided by the application components 118, usingdata store to and retrieved from the databases 132.

The customer application 404, via the API server 120 and thecommunications network 102, is also able to access customer's merchants406 and customer's members 408. The application components 118 is alsoshown to exchange information and data with payment processors 410,financing processors 412 and product manufacturers 414.

The subscription management system 400 is, in one example embodiment, acloud-based e-commerce solution built for developers to streamline andshorten the time to market of any e-commerce system that implements avariety of subscription models, quotations, recurring billings,electronic payments, order financing, order fulfillment, loyaltyprogram, and notifications. The subscription management system 400provides a rich set application programming interface (API) fordevelopers to seamlessly integrate with their own systems. Modules andtheir APIs that developers can use to customize the subscriptionmanagement system 400 to meet their own needs are as follows:

-   -   Accounts: primary account management and authorization.    -   Billing Plans: billing plan cycle options.    -   Financing/Payment Plans: members payments and financing options.    -   Fulfillment Plans: order fulfillment process.    -   Notification Plans: upcoming product/service notifications.    -   Service Providers. service providers information and        configurations.    -   Products: products/services configuration.    -   Invoices: members' invoices and invoice line items.    -   Refunds: members' refunds management.    -   Credits: members' credits management.    -   Reports: analytical data on membership, financials, etc.    -   Coupons: coupons management.    -   Rewards: loyalty reward program for membership.    -   Customers: members management.    -   Product/service Plans: members' product/service plans        management.    -   Proposals/Quotations: proposals and quotations.    -   Subscriptions: members' subscription configuration and        management.    -   Credit Card/Check/Cash: member's credit card/check/and cash        management.    -   Sample Data FlowRegister a business account with the        subscription management system 400.    -   AccountResponse account=createAccount(AccountRequest        request)Creates a treatment plan for members that all subscribed        services are paid on the same date, the same invoice on a        monthly basis.    -   BillingPlanResponse        billingPlan=createBillingPlan(BillingPlanRequest request)Create        a one-time payment plan for its subscribers.    -   PaymentPlanResponse        paymentPlan=createPaymentPlan(PaymentPlanRequest request)Create        a recurring payment plan for its subscribers.Request Ex:{“name:        “Monthly Payment”, payment_gateway: gateway_id, payment_count:        0, . . . });    -   Create some fulfillment plans (1 month, 2 month, . . . , 12        months) for providers to useFulfillmentPlanResponse        fulfillmentPlan1=createFulfillmentPlan(FulfillmentPlanRequest        request)    -   Create some notification plans for providers to use for any        subscription's order.    -   NotificationPlanResponse        notificationPlan1=createNotificationPlan(NotificationPlanRequest        request)    -   Create a providerProviderResponse        response=api.createProvider(new ProviderRequest( ))    -   Create coupons from own product catalog for its members.    -   CouponRequest couponRequest=new CouponRequest( )Create products        for its members.    -   ProductResponse product=createProduct(ProductRequest request)    -   Registers a new memberCustomerResponse        customerResponse=api.createCustomer(customerRequest);    -   Add CC to a member    -   CardResponse cardResponse=api.createCard(cardRequest);String        cardId=cardResponse. apiData.card.getCardIdO;    -   Create a treatment plan for a member.    -   SubscriptionPlanResponse        subscriptionPlanResponse=api.createSubscriptionPlan(subscriptionPlanRequest);    -   Create different subscriptions for a member.    -   SubscriptionResponse        subscriptionResponse=api.createSubscription(subscriptionRequest);    -   Get pending Invoice of a subscription plan.    -   InvoiceResponse        invoiceResponse=api.listInvoices(invoiceRequest);Charge a        pending invoice of a subscription plan (Transaction)    -   TransactionResponse=api.chargeInvoice(transactionRequest);    -   Get member's upcoming order fulfillment under a subscription        planorder list=list_order({“subscription_plan_id”:        “pla_9473c93”, “filter”: “pending”})        Updateexpert updates member's order fulfillment; i.e. confirmed,        fulfilled, etc.status=update_order({“order_id”: “or_9473c93”,        “status”: “completed”}

FIG. 5 is a diagrammatic representation of a data architecture 500created using and maintained by the subscription engine 128. A plan 502includes a set of subscriptions 504. Each subscription 506 of the set ofsubscriptions 504 is for a product or service and has severalattributes, a subset of which is shown in FIG. 5 . Specifically, eachsubscription 506 relates to a specific product/service 508, has afulfillment price 510, and a recurrence period 512. With respect to therecurrence period 512, a subscription 506 has some time period afterwhich the subscription 506 recurs, e.g., must again be fulfilled. Asubscription 506 may furthermore have a specified number of cycles 514and may occur indefinitely or terminate after the specified number ofthe cycles 514.

A subscription 506 furthermore has associated financing 516. Asubscription 506 may be financed via a loan or via a service providerdirectly as part of the service provider's subscription business.Alternatively, a subscription 506 may be fulfilled at a time ofordering.

Attributes of the subscription 506 may be managed by customers in somecases. For example, the cycles 514 may be modified or changed by acustomer using the client 112 in order to interact with the subscriptionengine 128.

A specific subscription 506 may furthermore be executed independently ofany other subscriptions included in a set of subscriptions 504, with theexception that billing is aggregated to a single payment atpredetermined intervals (e.g., once a month).

A plan 502 for the delivery of service may be constructed or definedwith the help of an expert (e.g., a physician or doctor) using anappropriate expert system 302, and performance/delivery of asubscription 506 of the plan 502 may be fulfilled at the expert's placeof business (e.g., the doctors practice). A plan 502 for the delivery ofa product may be fulfilled by shipment from a third party.

To facilitate financing (e.g., a loan as part of the financing 516) innear real-time, the subscription engine 128 is communicatively coupledto financial exchange 130 to enable the subscription engine 128digitally to communicate details about a particular subscription 506 orset of subscriptions 504 to the financial exchange 130. Financiers thenaccess the financial exchange 130 (e.g., using a third-party application116) to optionally accept a financing offer relating to a particular setof subscriptions 504 or subscription 506.

This facilitation of financing by a financier happens in near real-timeas, in a typical scenario, a customer is physically present at thecheckout counter of a service provider. To this end, the financialexchange 130 operationally aggregates accepted financing and rates,refusals and regular recurring subscriptions amounts to create a quotefor a total monthly price for all subscriptions within a set ofsubscriptions 504.

FIG. 6 is a block diagram illustrating a data architecture 600,according to some example embodiments. The data architecture 600 isrealized and stored within the databases 132. Customer tables 602 storerecords for customers (e.g., consumer 134) of various service providers,each service provider, in turn, being recorded within provider tables610. A customer record within the customer tables 602 may be associatedwith a plan 502 for which a record exists within plan tables 604. Eachplan 502 within the plan tables 604 may be associated with a set ofsubscriptions 504, records for which exist within the subscriptiontables 606. Offering tables 614 maintain records for eachproduct/service 508 (as examples of offerings), and each subscription506 has a specified cycle 514 within recurrence period tables 608. Afulfillment price 510 associated with a particular subscription 506 isalso stored within respective records of the recurrence period tables608.

Fulfillment records (e.g., indicating and recording whether a particularsubscription 506 has been fulfilled) are stored within fulfillmenttables 612.

FIG. 7 is a table diagram illustrating further details of data,according to some example embodiments, stored within the various tablesdiscussed above with reference to FIG. 6 .

FIG. 8 is a table diagram illustrating further details of data,according to some example embodiments, stored within the various tablesdiscussed above with reference to FIG. 6 .

FIG. 9 is a table diagram illustrating further details of data,according to some example embodiments, stored within the various tablesdiscussed above with reference to FIG. 6 .

FIG. 11 is a flowchart illustrating a method 1100, according to someexample embodiments, to create a subscription plan data structure and tofacilitate financing of the subscription plan reflected in the datastructure.

The method 1100 commences at operation 1102 with the presentation ofplan options to a customer. In one embodiment, the presentation may bemade via user interfaces on which an expert (e.g., a cosmetic physician)and the customer collaborate. The presentation may accordingly be donevia interfaces that are generated and communicated from an appropriateexpert system 124, via a web server 122, to a client device 108 beingoperated by the expert. FIG. 13 -FIG. 41 illustrate examples of suchuser interfaces.

At operation 1104, the subscription engine 128 receives planconfiguration data from the expert system 124, the plan configurationdata having been received from the customer at operation 1104 and inresponse to the presentation of plan options at operation 1102. The planconfiguration data, in some example embodiments, include the datadescribed above with reference to FIG. 5 through FIG. 10 .

At operation 1106, the subscription engine 128 proceeds to automaticallyand dynamically create a subscription plan data structure, such as thatdescribed above with reference to FIG. 5 through FIG. 10 .

At operation 1108, the subscription engine 128 initiates a financingcheckout process by communicating pertinent details of a particular plan502 of the financial exchange 130. Specifically, the subscription engine128 provides the following information to the financial exchange 130:

-   -   Information about the service provider (e.g., a medical        practice) that provides the services;    -   Information about the customer (e.g., personal information such        as a Social Security number (SSN) or driver's license number        (DLN)) and financial history summary of the financial        relationship between the customer and the service provider        (e.g., including a financial history rating based on        experience); and    -   Details of the plan including an array of subscriptions.

The financial exchange 130 responds with a number of financing offerscontaining:

-   -   A list of subscriptions in the offer; and    -   Terms for the offer (e.g., interest rate, pay-off time, down        payment, other financing items)

The subscription engine 128 will consider these and pick zero or more tooffer the customer using pre-defined business rules. These businessrules may specify:

-   -   Finance everything or nothing    -   Prefer fewer offers    -   Prefer lower offers    -   Provider finances unclaimed subscriptions

The financing checkout process is facilitated in real time as a customermay be physically present at the location of an expert (e.g., aphysician). As described above, the financial exchange 130 then presentsfinancing options to potential financiers (e.g., various third partiesor to the expert or service provider), to enable real-timedecision-making by the potential financiers.

At operation 1110, the financial exchange 130, having receivedacceptances or rejections of financing offers from the potentialfinanciers, communicates these financing options back to thesubscription engine 128, which in turn presents them, via the expertsystem 124 to the customer. The customer, at operation 1112, then electsto accept or reject the financing offers and finalizes the checkoutprocess.

FIG. 12 is a flowchart illustrating a method, according to some exampleembodiments, of presenting combined one-time payment and subscriptionpayment information to a user of a subscription engine.

The method 1200 commences at operation 1202 with the receipt, by thesubscription engine 128, of order data relating to a first subscription.The order data is inputted into an expert system 124 by a user (e.g., acustomer in collaboration with expert, or by an expert alone) andspecifies various attributes with respect to a subscription (e.g., aproduct or service) that is being presented for purchase to a customer.Attributes of a subscription that may be included within the order dataare reflected in the subscription table, offering table and catalog_itemtable of FIG. 8 . As shown in FIG. 8 , a particular subscription mayalso inherit various attributes of an offering in the offering table anda catalog item in the catalog_item table.

At operation 1204, the subscription engine 128 may receive further orderdata relating to a second subscription that a particular customer wishesto purchase. Again, this further order data may be entered into theexpert system 124 by a user, and specifies various attributes withrespect to a second subscription.

Together, the first and second subscription may constitute a bundle ofproducts and/or services that the customer wishes to purchase usingeither a one-time payment or a subscription payment plan.

After receiving the order data from a customer at operation 1202 andoperation 1204, the expert system 124 operationally presents severalsubscription choices to a customer. The examples discussed herein withrespect to subsequent figures show a process in which various cosmeticand/or beauty products and services are presented, by an appropriateexpert system 124, to a user for selection. Multiple attributes of thesesubscriptions are specified in the order data received at operation 1202and operation 1204, including attributes such as quantity (e.g., numberof units), frequency or recurrence period (e.g., the period of timebetween the delivery of the respective quantity of products orservices), and duration or cycles (e.g., the number of deliveries of therespective quantity or services).

At operation 1206, the subscription engine 128 combines the first andsecond order data into a subscription data structure (e.g., see FIG. 7), which is stored in a database and presented via a user interface to auser (e.g., an expert or consumer).

At operation 1208, the subscription engine 128 calculates a combinedone-time payment amount for both the first and second subscriptions,based on quantity data included in the respective first and second orderdata.

At operation 1210, the subscription engine 128 calculates combinedperiodic monthly subscription payment amounts for both first and secondofferings, based on the quantity, recurrence, and duration informationincluded in both the first and second order data.

At operation 1212, the subscription engine 128 causes presentation ofboth the combined one-time payment amount, and the combined periodicmonthly subscription payment amount, within a single user interface (seeFIG. 28 and FIG. 29 ).

The user interface includes a first user element to present the combinedone-time payment amount (FIG. 29 ) and a second user element to presentthe combined monthly subscription payment amount (FIG. 28 ). The userinterface further includes a toggle feature or element to enable a userto toggle between the presentations of the first user interface element(presenting the combined one-time payment amount) and the second userinterface element (presenting the combined monthly subscription paymentamount). By presenting this toggle feature, the user interfaceconveniently allows a user (e.g., an expert or consumer) to compare andcontrast payment options in a convenient way, while maintaining theability of the user to select one of these options without navigatingaway from the primary interface within which the first and second userinterface elements are contained.

While the combination of only first and second subscription offeringshas been described above for the sake of clarity, multiple offeringssubscriptions can be included in the subscription data structure. Forexample, third order data, relating to a third subscription offering,may be received via a user interface of an expert system 124 andcommunicated to the subscription engine 128. The subscription engine 128may then combine the first, second and third order data into thesubscription data structure.

At operation 1216, the subscription engine 128 receives the userselection of one of the payment options (e.g., a one-time payment orsubscription payment), and dynamically creates a financial datastructure related to the subscription bundle, based on the selectedpayment option. The financial data structure, which includes thesubscription plan a data structure discussed above at operation 1106, isthen used to initiate the financial checkout process (operation 1108).

The method 1200 then terminates at done block 1218.

FIG. 13 -FIG. 21 show a sequence of user interfaces that a user (e.g.,an expert or supplier) may be presented via a subscription engine, andwhich the user may manipulate to create and update a master catalog ofsubscription offerings (e.g., products or services).

A master catalog is a catalog of brand products and services that aspecific supplier can choose from and modify to populate a user-specificand customized catalog. Following a login operation (FIG. 13 ) andselection of a particular organization (FIG. 14 ), a user is presentedwith a “new catalog item creation” sequence.

The creation of a new catalog item commences with the selection of the“create new item” menu item (FIG. 16 -FIG. 17 ), responsive to which theuser is presented with an interface (FIG. 18 ) into which the userinputs a service (or product) name, as well as a manufacturerdesignation. A user-selectable radio button enables the user to identifythe catalog item as being a service (as opposed to the default of aproduct). In a different embodiment, a “product” radio button may bepresented to a user to enable the user to designate the catalog item asa product specifically. In yet other embodiments, other type radiobuttons may be presented to enable other offering type designations.

A user may then, from a drop-down menu, specify a unit type for the newcatalog item (FIG. 18 ). Example selections from the unit type menuinclude unitless, units, syringes, etc. A user is then able to specify aminimum and maximum range for the specified unit type, which determinesthe number of increments displayed on a slider selector interfaceelement presented in a plan creation user interface.

A user then specifies a thumbnail image (FIG. 20 ) to be displayed forthe relevant catalog item (e.g., this may be uploaded from the user'scomputer or uploaded from a third-party Internet location). The userthen selects the “save button” to save the specification for the newcatalog item.

The above-described creation of a new catalog item for the mastercatalog is something that would typically only need to be performed onetime to populate the master catalog. A user may furthermore review andedit a newly created master catalog item by selecting a within the“catalog list/all items” user interface.

FIG. 21 is a screenshot for user interfaces that enable a user to edit acatalog item, according to some example embodiments. As a first step,the user selects, from the list of master catalog items, a particularcatalog item that the user wishes to edit.

Any of the information described above (e.g., the JPEG image, units,etc.) may conveniently be modified. A change or edit made to a singlecatalog item for a particular brand or manufacturer may, in someembodiments, automatically be propagated to other catalog items from thesame brand or manufacturer. For example, a change to the thumbnail imageof a particular catalog item from a particular brand may result in thethumbnail images for other catalog items from that same brand ofmanufacturer also being changed.

FIG. 22 -FIG. 41 are screenshots of user interfaces that may bepresented to a user, by an expert system, as part of a new customercreation process. The new customer creation process will typically beperformed by an expert (e.g., a physician at a cosmetic beauty practice)identified by a name in the top right-hand corner of the interface(e.g., Susan with the practice “Beautiful in Beaufort Wes”). The defaultview is the customer list, from which the expert can select a “createnew customer” icon, which initiates display of a plan builder interface(e.g., the “new customer plan” interface (see FIG. 23 )).

FIG. 23 illustrates a user interface presenting a matrix ofuser-selectable offering elements, each including a thumbnail image andtitle that are selectable to add an associated offering to a plan.Selection of a specific offering element invokes an overlaidsub-interface—e.g., a “choose quantity, period and treatments”interface—for the specific offering (e.g., either a product or aservice). In the illustrated example of FIG. 24 , the product “FULLERER”is selected from the matrix, and an associated slider sub-interface 2402is presented in an overlaid manner over the primary “matrix” interface.The slider sub-interface 2402 presents a graphical user interface datainput element in the form of a respective slider for each of twoattributes of the offering, namely a quantity attribute (“how many”),and a recurrence period attribute (“how often’).

Each slider has a series of demarcations or intervals between a minimumvalue and a specified maximum value specified for the attribute. Forexample, a quantity slider 2404 has several demarcations representing anumber or quantity of offerings that can be provided as part of theplan. Similarly, a recurrence period slider 2406 has a number ofdemarcations representing the number of months between each scheduledsupply/delivery of the offering in terms of the plan.

Each slider also has a movable selection element in the form of a circleor dot, within which is displayed a number representing the value forthe attribute that the expert wishes to specify as part of the plan. Bysliding the movable selection item to the left and right, the expert isable to specify an input value for the respective attribute. This numberis displayed as a numeric value within the movable selection item.Visually, the selection element is empty when located at the 0 value(the default position). Upon user selection, the selection elementvisually raises from a locked vertical position, to a move verticalposition just above the slider line. When in the move vertical position,the slider element is movable horizontally left and right along theslider line. The selection element is filled (or otherwise graphicallydistinguished) as it is moved from the default horizontal position.Further, a number or value is displayed within the selection element torepresent the aligned value on the slider line. For example, in FIG. 24, the respective selection elements display the numbers “3” and “6”respectively. Graphically, the selection element drops back down(relative to the selection line) to a locked vertical position on aselected value to complete the value selection process.

As noted above, defining the quantity and frequency of delivery of aproduct or service offering under subscription plan is tricky andpresents technical challenges to a user. This is particularly so wherethe product or service offering is being subscribed to as a bundle ofofferings or services that are all being included within a singlesubscription plan. For example, defining the quantity and frequency ofdelivery requires typing numerical data into appropriate fields and thencalculating variables to display a monthly cost of the subscriptionplan. Because the slider sub-interface 2402 is frequently used on atouchscreen tablet device while the customer is watching, there is aneed to have a fast friction free device to enter the data.

The slider sub-interface 2402 described with reference to FIG. 24 (aswell as those illustrated and described with reference to FIG. 26 andFIG. 27 ) present a user interface that uses sliders to specify inputvalues for subscription variables. In one embodiment, this allows a user(e.g., an expert or a customer) to avoid using the keyboard ontouchscreen devices. However, in a further embodiment, for personalcomputer users who have a keyboard, the slider sub-interface providesfast text entry which is seamlessly integrated into the user interface.

The slider sub-interface 2402 also calculates and displays a monthly (orother periodic) cost dynamically as the respective sliders aremanipulated. This function further increases the efficiency of the inputand lets the user (e.g., the beauty expert or physician) and customer(e.g., patient) quickly adjust the sliders interactively to arrive atthe desired cost.

This tool also allows for a volume discount model, so prices areadjusted accordingly without further interaction from the user. The baseprice for an offering (e.g., a service or product) is set in an offeringtable (see FIG. 8 ). Any number of markup tiers then describe apercentage markup or markdown for a given volume of product. Forexample:

-   -   Offering->Base $100 per unit    -   Markup_tier[0]->at 10 units, discount 5%    -   Markup_tier[1]->At 20 units, discount 10%    -   So 25 units->25×100−10%=$2250

In the illustrated example of FIG. 25 , the FULLERER product is added toa cart sub-interface 2502 of the interface on the right. Because of therelevant product is identified as a subscription-option product, asubscribe tab 2504 of a toggle element at the top of the cartsub-interface 2502 is flagged or highlighted to reflect that the productis payable by way of a subscription. Specifically, the subscribe tab2504 indicates that the relevant product is available for a subscriptionof $25 per month part of a “beauty membership” monthly subscription. Onthe other hand, should the relevant product have been identified withinthe master catalog as a one-time purchase only option product, aone-time tab 2506 of the toggle element would not have been highlightedor activated within the ca subsection of the interface.

It will further be noted that the cart sub-interface 2502 includes alldetails regarding the subscription to the relevant product—e.g., threesyringes, delivered every six months, and a subscription cost of $25 permonth, with a $150 saving.

A lower part 2508 of the cart sub-interface 2502 provides a summary ofofferings within the cart and shows a combined a subscription total of$25 a month, and a combined one-time purchase total of zero dollars,with a total payment due today in order to activate the subscription.

In the illustrated example of FIG. 25 , the user may then also select aCOOLSCULPTING product from the offering matrix to add to the “cart” orsubscription bundle, in the same manner as described above.Specifically, the user selects the relevant product from the matrixactivates the sub-interface associated with the COOLSCULPTING product.As shown in FIG. 26 , the selection sub-interface 2602 presents threeattribute sliders, namely a quantity attribute slider, a recurrenceperiod attribute slider, and a duration attribute slider. By selecting avalue of 1 for each of these attributes, the user can specify that thisis a one-time purchase of the COOLSCULPTING product (see FIG. 27 ). Userselection of the “add to plan” button then results in the COOLSCULPTINGproduct being added to the cart (e.g., displayed within the cartsub-interface of the interface) (see FIG. 28 ).

As shown in FIG. 28 , it will be noted that there is no “hourglass”indicator displayed next to the data for the COOLSCULPTING product inthe cart sub-interface of the interface, thus indicating that thisproduct is not part of the recurring membership (or subscription).Rather, the COOLSCULPTING product is a one-time purchase of $100, asreflected in the summary section of the cart sub-interface. The FULLERERproduct is however identified by an hourglass indicator 2802 as asubscription offering.

Referring to FIG. 29 , should the user wish to pay for both the productsin the “cart” as a one-time purchase, a user may select the one-timepayment tab 2902 within the toggle element at the top of the cartsub-interface. This toggle element then causes the hourglass indicatoradjacent the FULLERER product to disappear, and the summary section isalso modified to show a total for the one-time purchases of $410.

In this way, a user (e.g., an expert) can conveniently present both thesubscription option by selecting the subscription tab of the toggleelement and the one-time payment option by selecting the one-timepayment tab of the toggle element. Each of these tabs causes thepresentation of the payment information to be updated and displayed inaccordance with the selected payment option. A user (e.g., an expert)can thus conveniently communicate payment options to a customer (e.g.,at a checkout) without having to perform any modification to the contentof the cart.

Referring to FIG. 29 , if the customer wishes to proceed with thesubscription option, a “continue” button on the cart sub-interface isselected, which then invokes a customer sign-up flow and thepresentational of corresponding interfaces. As shown in FIG. 30 -FIG. 32, the customer sign-up interface includes a customer profile section, apayment information section, and an assigned team member section. The“assigned team member”, in one embodiment, may be the expert that hasbeen responsible for signing up the customer, and the subscriptionengine 128 may allocate appropriate credit to the relevant expert forperforming the customer sign-up.

Once the user is satisfied with the customer information, a “submit”button is selected, which then invokes a “review today's treatments”interface (FIG. 33 ). In the illustrated example, the customer, NancyCartwright, has elected to a first treatment on the day of the sign-up.Checkboxes 3302 on the left of the review section are user selectable toindicate and record delivery are the relevant treatments (both productsand services) to the customer on the current date. In addition, thequantities of the delivery are recorded within this interface. While thedefault values are typically pre-populated into the quantity fields ofthe centers, these values are modifiable in case a deviation from thedefault quantities occurred. In addition, drop-down menus (see FIG. 34 )are provided to enable input all the names of the team members thatdeliver the product and/or provided the services (again so that theseteam members may be appropriately compensated or that their performancemay be evaluated).

Further, “next appointment” fields for each offering may be populated toinclude a date for the next appointment (or delivery are an appropriateproduct and/or service). To this end, a convenient calendar drop-down(see FIG. 35 -FIG. 36 ) may be presented using which of the user canselect a date and time for the next appointment for each offering.

From the offering review interface, the sequence moves on to the paymentinformation interface 3700 (FIG. 37 ) which is automaticallypre-populated with the customer's credit card information is extractedfrom their user profile. Further, the “amount” field is automaticallypopulated with an amount that is due at checkout on a relevant day.

The payment information interface 3700 conveniently also allows a userto split the payment over multiple payment types, and accordingly inputthat only a portion of the payment total that is to be applied to acredit card, with the rest of the payment being paid in cash (or bycheck or other credit instruments). Once the payment information hasbeen collected, the user selection of “next” button invokes the “paymentreceived” interface 3800 (see FIG. 38 ). A “print for signature” buttonis user selectable to generate a printable version of a receipt (seeFIG. 39 ), which again includes details on the plan, the payment made onthe day, and how it was paid (i.e., which instruments were used to makethe payments). The printable receipt also indicates a “next billingdate” on which of the next subscription payment will become payable. Asignature line is also included.

A user has the option of going back to the client list interface (seeFIG. 40 ) and searching for the relevant customer to invoke a customeraccount overview interface 4100 (see FIG. 41 ). The customer accountoverview interface 4100 presents a timeline on which are indicatedgraphical representations of specific offering delivery events accordingto the plan. Offering-specific icons are displayed on a timelineadjacent or proximate dates on which the offerings are scheduled to bedelivered, in accordance with the plan. The customer account overviewinterface 4100 thus provides a convenient graphical representation ofthe customer's plan. The plan can also be edited directly from thecustomer account overview interface 4100 for example, any of thequantity, recurrence period or duration of a particular offering can bemodified from the overview interface. The recalculation of the monthly(or periodic) payment amounts will also automatically occur and bedisplayed within the overview interface responsive to any modificationsmade to the plan.

FIG. 42 is a block diagram 4200 illustrating a software architecture4204, which can be installed on any one or more of the devices herein.FIG. 42 is merely a non-limiting example of a software architecture, andit will be appreciated that many other architectures can be implementedto facilitate the functionality described herein. In variousembodiments, the software architecture 4204 is implemented by hardwaresuch as a machine 4202 of FIG. 2 that includes processors 4220, memory4226, and I/O components 4238. In this example architecture, thesoftware can be conceptualized as a stack of layers where each layer mayprovide particular functionality. For example, the software includeslayers such as an operating system 4212, libraries 4210, frameworks4208, and applications 4206. Operationally, the applications 4206 invokeapplication programming interface (API) calls 4250 through the softwarestack and receive messages 4252 in response to the API calls 4250,consistent with some embodiments.

In various implementations, the operating system 4212 manages hardwareresources and provides common services. The operating system 4212includes, for example, a kernel 4214, services 4216, and drivers 4222.The kernel 4214 acts as an abstraction layer between the hardware andthe other software layers, consistent with some embodiments. Forexample, the kernel 4214 provides memory management, processormanagement (e.g., scheduling), component management, networking, andsecurity settings, among other functionality. The services 4216 canprovide other common services for the other software layers. The drivers4222 are responsible for controlling or interfacing with the underlyinghardware, according to some embodiments. For instance, the drivers 4222can include display drivers, camera drivers, BLUETOOTH® or BLUETOOTH®Low Energy drivers, flash memory drivers, serial communication drivers(e.g., Universal Serial Bus (USB) drivers), WI-FI® drivers, audiodrivers, power management drivers, and so forth.

In some embodiments, the libraries 4210 provide a common low-levelinfrastructure utilized by the applications 4206. The libraries 4210 caninclude system libraries 4218 (e.g., C standard library) that canprovide functions such as memory allocation functions, stringmanipulation functions, mathematic functions, and the like. In addition,the libraries 4210 can include API libraries 4224 such as medialibraries (e.g., libraries to support presentation and manipulation ofvarious media formats such as Moving Picture Experts Group-4 (MPEG4),Advanced Video Coding (H.264 or AVC), Moving Picture Experts GroupLayer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR)audio codec, Joint Photographic Experts Group (JPEG or JPG), or PortableNetwork Graphics (PNG)), graphics libraries (e.g., an OpenGL frameworkused to render in two dimensions (2D) and three dimensions (3D) in agraphic content on a display), database libraries (e.g., SQLite toprovide various relational database functions), web libraries (e.g.,WebKit to provide web browsing functionality), and the like. Thelibraries 4210 can also include a wide variety of other libraries 4228to provide many other APIs to the applications 4206.

The frameworks 4208 provide a common high-level infrastructure that canbe utilized by the applications 4206, according to some embodiments. Forexample, the frameworks 4208 provide various graphical user interface(GUI) functions, high-level resource management, high-level locationservices, and so forth. The frameworks 4208 can provide a broad spectrumof other APIs that can be utilized by the applications 4206, some ofwhich may be specific to a particular operating system or platform.

In an example embodiment, the applications 4206 include a homeapplication 4236, a contacts application 4230, a browser application4232, a book reader application 4234, a location application 4242, amedia application 4244, a messaging application 4246, a game application4248, and a broad assortment of other applications such as a third-partyapplication 4240. According to some embodiments, the applications 4206are programs that execute functions defined in the programs. Variousprogramming languages can be employed to create one or more of theapplications 4206, structured in a variety of manners, such asobject-oriented programming languages (e.g., Objective-C, Java, or C++)or procedural programming languages (e.g., C or assembly language). In aspecific example, the third-party application 4240 (e.g., an applicationdeveloped using the ANDROID™ or IOS™ software development kit (SDK) byan entity other than the vendor of the particular platform) may bemobile software running on a mobile operating system such as IOS™,ANDROID™, WINDOWS® Phone, or another mobile operating system. In thisexample, the third-party application 4240 can invoke the API calls 4250provided by the operating system 4212 to facilitate functionalitydescribed herein.

FIG. 43 illustrates a diagrammatic representation of a machine 4300 inthe form of a computer system within which a set of instructions may beexecuted for causing the machine to perform any one or more of themethodologies discussed herein, according to example embodiments.Specifically, FIG. 43 shows a diagrammatic representation of the machine4300 in the example form of a computer system, within which instructions4308 (e.g., software, a program, an application, an applet, an app, orother executable code) for causing the machine 4300 to perform any oneor more of the methodologies discussed herein may be executed. Theinstructions 4308 transform the general, non-programmed machine 4300into a particular machine 4300 programmed to carry out the described andillustrated functions in the manner described. In alternativeembodiments, the machine 4300 operates as a standalone device or may becoupled (e.g., networked) to other machines. In a networked deployment,the machine 4300 may operate in the capacity of a server machine or aclient machine in a server-client network environment, or as a peermachine in a peer-to-peer (or distributed) network environment. Themachine 4300 may comprise, but not be limited to, a server computer, aclient computer, a personal computer (PC), a tablet computer, a laptopcomputer, a netbook, a set-top box (STB), a PDA, an entertainment mediasystem, a cellular telephone, a smartphone, a mobile device, a wearabledevice (e.g., a smartwatch), a smart home device (e.g., a smartappliance), other smart devices, a web appliance, a network router, anetwork switch, a network bridge, or any machine capable of executingthe instructions 4308, sequentially or otherwise, that specify actionsto be taken by the machine 4300. Further, while only a single machine4300 is illustrated, the term “machine” shall also be taken to include acollection of machine 4300 that individually or jointly execute theinstructions 4308 to perform any one or more of the methodologiesdiscussed herein.

The machine 4300 may include processors 4302, memory 4304, and I/Ocomponents 4342, which may be configured to communicate with each othersuch as via a bus 4344. In an example embodiment, the processors 4302(e.g., a Central Processing Unit (CPU), a Reduced Instruction SetComputing (RISC) processor, a Complex Instruction Set Computing (CISC)processor, a Graphics Processing Unit (GPU), a Digital Signal Processor(DSP), an ASIC, a Radio-Frequency Integrated Circuit (RFIC), anotherprocessor, or any suitable combination thereof) may include, forexample, a processor 4306 and a processor 4310 that may execute theinstructions 4308. The term “processor” is intended to includemulti-core processors that may comprise two or more independentprocessors (sometimes referred to as “cores”) that may executeinstructions contemporaneously. Although FIG. 43 shows multipleprocessors 4302, the machine 4300 may include a single processor with asingle core, a single processor with multiple cores (e.g., a multi-coreprocessor), multiple processors with a single core, multiple processorswith multiples cores, or any combination thereof.

The memory 4304 may include a main memory 4312, a static memory 4314,and a storage unit 4316, both accessible to the processors 4302 such asvia the bus 4344. The main memory 4304, the static memory 4314, andstorage unit 4316 store the instructions 4308 embodying any one or moreof the methodologies or functions described herein. The instructions4308 may also reside, completely or partially, within the main memory4312, within the static memory 4314, within machine-readable medium 4318within the storage unit 4316, within at least one of the processors 4302(e.g., within the processor's cache memory), or any suitable combinationthereof, during execution thereof by the machine 4300.

The I/O components 4342 may include a wide variety of components toreceive input, provide output, produce output, transmit information,exchange information, capture measurements, and so on. The specific I/Ocomponents 4342 that are included in a particular machine will depend onthe type of machine. For example, portable machines such as mobilephones will likely include a touch input device or other such inputmechanisms, while a headless server machine will likely not include sucha touch input device. It will be appreciated that the I/O components4342 may include many other components that are not shown in FIG. 43 .The I/O components 4342 are grouped according to functionality merelyfor simplifying the following discussion, and the grouping is in no waylimiting. In various example embodiments, the I/O components 4342 mayinclude output components 4328 and input components 4330. The outputcomponents 4328 may include visual components (e.g., a display such as aplasma display panel (PDP), a light emitting diode (LED) display, aliquid crystal display (LCD), a projector, or a cathode ray tube (CRT)),acoustic components (e.g., speakers), haptic components (e.g., avibratory motor, resistance mechanisms), other signal generators, and soforth. The input components 4330 may include alphanumeric inputcomponents (e.g., a keyboard, a touch screen configured to receivealphanumeric input, a photo-optical keyboard, or other alphanumericinput components), point-based input components (e.g., a mouse, atouchpad, a trackball, a joystick, a motion sensor, or another pointinginstrument), tactile input components (e.g., a physical button, a touchscreen that provides location and/or force of touches or touch gestures,or other tactile input components), audio input components (e.g., amicrophone), and the like.

In further example embodiments, the I/O components 4342 may includebiometric components 4332, motion components 4334, environmentalcomponents 4336, or position components 4338, among a wide array ofother components. For example, the biometric components 4332 may includecomponents to detect expressions (e.g., hand expressions, facialexpressions, vocal expressions, body gestures, or eye tracking), measurebiosignals (e.g., blood pressure, heart rate, body temperature,perspiration, or brain waves), identify a person (e.g., voiceidentification, retinal identification, facial identification,fingerprint identification, or electroencephalogram-basedidentification), and the like. The motion components 4334 may includeacceleration sensor components (e.g., accelerometer), gravitation sensorcomponents, rotation sensor components (e.g., gyroscope), and so forth.The environmental components 4336 may include, for example, illuminationsensor components (e.g., photometer), temperature sensor components(e.g., one or more thermometers that detect ambient temperature),humidity sensor components, pressure sensor components (e.g.,barometer), acoustic sensor components (e.g., one or more microphonesthat detect background noise), proximity sensor components (e.g.,infrared sensors that detect nearby objects), gas sensors (e.g., gasdetection sensors to detection concentrations of hazardous gases forsafety or to measure pollutants in the atmosphere), or other componentsthat may provide indications, measurements, or signals corresponding toa surrounding physical environment. The position components 4338 mayinclude location sensor components (e.g., a GPS receiver component),altitude sensor components (e.g., altimeters or barometers that detectair pressure from which altitude may be derived), orientation sensorcomponents (e.g., magnetometers), and the like.

Communication may be implemented using a wide variety of technologies.The I/O components 4342 may include communication components 4340operable to couple the machine 4300 to a network 4320 or devices 4322via a coupling 4324 and a coupling 4326, respectively. For example, thecommunication components 4340 may include a network interface componentor another suitable device to interface with the network 4320. Infurther examples, the communication components 4340 may include wiredcommunication components, wireless communication components, cellularcommunication components, Near Field Communication (NFC) components,Bluetooth® components (e.g., Bluetooth® Low Energy), Wi-Fit® components,and other communication components to provide communication via othermodalities. The devices 4322 may be another machine or any of a widevariety of peripheral devices (e.g., a peripheral device coupled via aUSB).

Moreover, the communication components 4340 may detect identifiers orinclude components operable to detect identifiers. For example, thecommunication components 4340 may include Radio Frequency Identification(RFID) tag reader components, NFC smart tag detection components,optical reader components (e.g., an optical sensor to detectone-dimensional barcodes such as Universal Product Code (UPC) barcode,multi-dimensional bar codes such as Quick Response (QR) code, Azteccode, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2Dbarcode, and other optical codes), or acoustic detection components(e.g., microphones to identify tagged audio signals). In addition, avariety of information may be derived via the communication components4340, such as location via Internet Protocol (IP) geolocation, locationvia Wi-Fi® signal triangulation, location via detecting an NFC beaconsignal that may indicate a particular location, and so forth.

Executable Instructions and Machine Storage Medium

The various memories (i.e., memory 4304, main memory 4312, static memory4314, and/or memory of the processors 4302) and/or storage unit 4316 maystore one or more sets of instructions and data structures (e.g.,software) embodying or utilized by any one or more of the methodologiesor functions described herein. These instructions (e.g., theinstructions 4308), when executed by processors 4302, cause variousoperations to implement the disclosed embodiments.

As used herein, the terms “machine-storage medium,” “device-storagemedium,” “computer-storage medium” mean the same thing and may be usedinterchangeably in this disclosure. The terms refer to a single ormultiple storage devices and/or media (e.g., a centralized ordistributed database, and/or associated caches and servers) that storeexecutable instructions and/or data. The terms shall accordingly betaken to include, but not be limited to, solid-state memories, andoptical and magnetic media, including memory internal or external toprocessors. Specific examples of machine-storage media, computer-storagemedia and/or device-storage media include non-volatile memory, includingby way of example semiconductor memory devices, e.g., erasableprogrammable read-only memory (EPROM), electrically erasableprogrammable read-only memory (EEPROM), FPGA, and flash memory devices;magnetic disks such as internal hard disks and removable disks;magneto-optical disks; and CD-ROM and DVD-ROM disks. The terms“machine-storage media,” “computer-storage media,” and “device-storagemedia” specifically exclude carrier waves, modulated data signals, andother such media, at least some of which are covered under the term“signal medium” discussed below.

Transmission Medium

In various example embodiments, one or more portions of the network 4320may be an ad hoc network, an intranet, an extranet, a VPN, a LAN, aWLAN, a WAN, a WWAN, a MAN, the Internet, a portion of the Internet, aportion of the PSTN, a plain old telephone service (POTS) network, acellular telephone network, a wireless network, a Wi-Fi® network,another type of network, or a combination of two or more such networks.For example, the network 4320 or a portion of the network 4320 mayinclude a wireless or cellular network, and the coupling 4324 may be aCode Division Multiple Access (CDMA) connection, a Global System forMobile communications (GSM) connection, or another type of cellular orwireless coupling. In this example, the coupling 4324 may implement anyof a variety of types of data transfer technology, such as SingleCarrier Radio Transmission Technology (1×RTT), Evolution-Data Optimized(EVDO) technology, General Packet Radio Service (GPRS) technology,Enhanced Data rates for GSM Evolution (EDGE) technology, thirdGeneration Partnership Project (3GPP) including 3G, fourth generationwireless (4G) networks, Universal Mobile Telecommunications System(UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability forMicrowave Access (WiMAX), Long Term Evolution (LTE) standard, othersdefined by various standard-setting organizations, other long-rangeprotocols, or other data transfer technology.

The instructions 4308 may be transmitted or received over the network4320 using a transmission medium via a network interface device (e.g., anetwork interface component included in the communication components4340) and utilizing any one of a number of well-known transfer protocols(e.g., hypertext transfer protocol (HTTP)). Similarly, the instructions4308 may be transmitted or received using a transmission medium via thecoupling 4326 (e.g., a peer-to-peer coupling) to the devices 4322. Theterms “transmission medium” and “signal medium” mean the same thing andmay be used interchangeably in this disclosure. The terms “transmissionmedium” and “signal medium” shall be taken to include any intangiblemedium that is capable of storing, encoding, or carrying theinstructions 4308 for execution by the machine 4300, and includesdigital or analog communications signals or other intangible media tofacilitate communication of such software. Hence, the terms“transmission medium” and “signal medium” shall be taken to include anyform of a modulated data signal, carrier wave, and so forth. The term“modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a matter as to encode informationin the signal.

Computer-Readable Medium

The terms “machine-readable medium,” “computer-readable medium” and“device-readable medium” mean the same thing and may be usedinterchangeably in this disclosure. The terms are defined to includeboth machine-storage media and transmission media. Thus, the termsinclude both storage devices/media and carrier waves/modulated datasignals.

What is claimed is:
 1. A system comprising: one or more computerprocessors; one or more computer memories; a set of instructions storedin the one or more computer memories, the set of instructionsconfiguring the one or more computer processors to perform operations,the operations comprising: populating a catalog with one or moreproducts or services, the one or more products or services pertaining toone or more treatments, the one or more products or services configuredto be delivered as part of a treatment plan; based on a selection of aproduct or service of the one or more products or services and basedupon an acceptance by a financier of a financing opportunitycorresponding to the selection, receiving financing corresponding to thefinancing opportunity from the financier; and sending one or morenotifications, the one or more notifications relating to one or moreevents pertaining to the treatment plan.
 2. The system of claim 1,wherein the catalog is specific to a customer of a provider of thetreatment plan.
 3. The system of claim 1, wherein the populating of thecatalog comprises receiving one or more inputs pertaining to the one ormore treatments via a user interface.
 4. The system of claim 3, whereinthe one or more inputs comprises a quantity attribute or a recurrenceperiod attribute of the treatment plan.
 5. The system of claim 2,wherein the selection of the product or service is performed by thecustomer via an additional user interface.
 6. The system of claim 2,further comprising sending the financing opportunity to one or morepotential financiers in real-time while the customer is at a place ofbusiness of the provider, the one or more potential financiers includingthe financier.
 7. The system of claim 6, wherein the financingopportunity is represented by a financial data structure, the financialdata structure including a subscription plan data structure associatedwith the one or more products or services.
 8. A method comprising:populating a catalog with one or more products or services, the one ormore products or services pertaining to one or more treatments, the oneor more products or services configured to be delivered as part of atreatment plan; based on a selection of a product or service of the oneor more products or services and based upon an acceptance by a financierof a financing opportunity corresponding to the selection, receivingfinancing corresponding to the financing opportunity from the financier;and sending one or more notifications, the one or more notificationsrelating to one or more events pertaining to the treatment plan.
 9. Themethod of claim 8, wherein the catalog is specific to a customer of aprovider of the treatment plan.
 10. The method of claim 8, wherein thepopulating of the catalog comprises receiving one or more inputspertaining to the one or more treatments via a user interface.
 11. Themethod of claim 10, wherein the one or more inputs comprises a quantityattribute or a recurrence period attribute of the treatment plan. 12.The method of claim 9, wherein the selection of the product or serviceis performed by the customer via an additional user interface.
 13. Themethod of claim 9, further comprising sending the financing opportunityto one or more potential financiers in real-time while the customer isat a place of business of the provider, the one or more potentialfinanciers including the financier.
 14. The method of claim 13, whereinthe financing opportunity is represented by a financial data structure,the financial data structure including a subscription plan datastructure associated with the one or more products or services.
 15. Anon-transitory computer-readable storage medium storing a set ofinstructions that, when executed by one or more computer processors,causes the one or more computer processors to perform operations, theoperations comprising: populating a catalog with one or more products orservices, the one or more products or services pertaining to one or moretreatments, the one or more products or services configured to bedelivered as part of a treatment plan; based on a selection of a productor service of the one or more products or services and based upon anacceptance by a financier of a financing opportunity corresponding tothe selection, receiving financing corresponding to the financingopportunity from the financier; and sending one or more notifications,the one or more notifications relating to one or more events pertainingto the treatment plan.
 16. The non-transitory computer-readable storagemedium of claim 15, wherein the catalog is specific to a customer of aprovider of the treatment plan.
 17. The non-transitory computer-readablestorage medium of claim 15, wherein the populating of the catalogincludes receiving one or more inputs pertaining to the one or moretreatments via a user interface.
 18. The non-transitorycomputer-readable storage medium of claim 17, wherein the one or moreinputs comprises a quantity attribute or a recurrence period attributeof the treatment plan.
 19. The non-transitory computer-readable storagemedium of claim 16, wherein the selection of the product or service isperformed by the customer via an additional user interface.
 20. Thenon-transitory computer-readable storage medium of claim 16, furthercomprising sending the financing opportunity to one or more potentialfinanciers in real-time while the customer is at a place of business ofthe provider, the one or more potential financiers including thefinancier.